<template>
	<view>
		<button @click="getLocation">定位</button>
	</view>
</template>

<script>
	export default {
		methods: {
			/**
			 * 定位
			 * 技术文档：https://uniapp.dcloud.io/api/location/location?id=getlocation
			 */
			getLocation () {
				// 请求用户授权定位
				uni.authorize({
					scope: 'scope.userLocation',
					success () {
						// 获取定位
						uni.getLocation({
							type: 'wgs84', // 默认为 wgs84 返回 gps 坐标，gcj02 返回国测局坐标，可用于 uni.openLocation 的坐标，app平台高德SDK仅支持返回gcj02,
							altitude: false, // 传入 true 会返回高度信息，由于获取高度需要较高精确度，会减慢接口返回速度
							geocode: false, // 默认false，是否解析地址信息
							// 接口调用成功的回调函数，返回内容详见返回参数说明。
							success (res) {
								console.log('纬度', res.latitude); // 纬度，浮点数，范围为-90~90，负数表示南纬
								console.log('经度', res.longitude); // 经度，浮点数，范围为-180~180，负数表示西经
								console.log('速度', res.speed); // 速度，浮点数，单位m/s
								console.log('位置的精确度', res.accuracy); // 位置的精确度
								console.log('高度', res.altitude); // 高度，单位 m
								console.log('垂直精度', res.verticalAccuracy); // 垂直精度，单位 m（Android 无法获取，返回 0）
								console.log('水平精度', res.horizontalAccuracy); // 水平精度，单位 m
								console.log('地址信息', res.address); // 地址信息（仅App端支持，需配置geocode为true）
							},
							// 接口调用失败的回调函数
							fail (e) {
								console.log('定位失败', e)
							},
							// 接口调用结束的回调函数（调用成功、失败都会执行）
							complete () {
								console.log('定位完成')
							}
						})
					},
					fail () {},
					complete () {}
				})
			}
		}
	}
</script>

<style>

</style>
